Welcome to AO 
AO is a decentralized compute system where countless parallel processes interact within a single, cohesive environment. Built on the AO-Core protocol, it uses the actor model inspired by Erlang - each process operates independently yet connects through native message-passing, creating a web of autonomous computation.
HyperBEAM is the current production network that provides high-performance message processing and instant HTTP access to your process state.
Start Building in Minutes 
Get hands-on immediately with AO development using modern HyperBEAM patterns.
Prerequisites 
- NodeJS version 20+
- A code editor of your choice
Step 1: Install AOS 
npm i -g https://get_ao.arweave.netStep 2: Start AOS with HyperBEAM 
Connect directly to a HyperBEAM node for the best experience:
aos --node https://forward.computerFor development, you can also use the default:
aosYou authenticate using a keyfile. If you have an Arweave wallet, specify it with --wallet [location]. Otherwise, a new keyfile is generated at ~/.aos.json.
Step 3: Your First Process 
After connecting, you'll see the AOS welcome screen and your personal process prompt:
default@aos-2.0.10[Inbox:1]>This is your personal server in the AO computer! Try your first command:
default@aos-2.0.10[Inbox:1]>You just sent a message that was permanently stored on Arweave and processed by a distributed compute network. Your process is a decentralized server that's resilient, permanent, permissionless, and trustless.
Step 4: Try Exposing State via HTTP 
Unlike older systems, modern AO development uses HyperBEAM to expose process state via HTTP. Try this simple example:
-- Create a simple counter
Counter = Counter or 0
Handlers.add(
  "Increment",
  Handlers.utils.hasMatchingTag("Action", "Increment"),
  function(msg)
    Counter = Counter + 1
    -- Expose the counter value via HTTP
    Send({
      device = '[email protected]',
      counter = Counter
    })
  end
)Step 5: Test Your Process 
Send a message to increment the counter:
Send({ Target = ao.id, Tags = { Action = "Increment" } })Step 6: Read State via HTTP 
Your counter value is now instantly available at:
  https://forward.computer/<process-id>[email protected]/compute/counterThis is the power of HyperBEAM - instant HTTP access to your process state!
Step 7: Load a Blueprint 
Start with a community blueprint to learn more patterns:
.load-blueprint chatWhat's Next? 
Continue to Building with HyperBEAM to learn advanced patterns, or explore Concepts & Migration for deeper understanding.
Need Help? 
- Join the Discord community
- Browse the Tutorials for hands-on projects
- Check the Guides for step-by-step patterns